.\" Manpage for napi-bash.conf.
.TH NAPI-BASH 5 "2014-06-22" "0.50" "Konfiguracja napi-bash"
.SH NAZWA
Konfiguracja programu napi-bash..
.SH LOKALIZACJA
.PP
.nf
${XDG_CONFIG_HOME}/napi-bash/config
~/.config/napi-bash/config
.fi
.fi
.SH OPIS
.PP
Program załaduje ten plik jako część swojego kodu, nadpisując zdefiniowanymi w nim domyślne opcje i niektóre funkcje..
.fi
.SH OPCJE KONFIGURACYJNE (WSPÓLNE)
Wszytskie tu wymienione opcje zostały już opisane w:
.BR napi-bash (1)
.SS suboverwrite=<tekst>
.PP
To samo co: -o=<tekst>, --suboverwrite=<tekst>
.fi
.SS skipifexist=<bool>
.PP
To samo co: -s=<bool>, --skipifexist=<bool>
.fi
.SS colors=<bool>
.PP
To samo co: -c=<bool>, --colors=<bool>
.fi
.SS subext=<tekst>
.PP
To samo co: -x=<tekst>, --subext=<tekst>
.fi
.SS subext_autodetect=<bool>
.PP
To samo co: -X=<bool>, --subext-autodetect=<bool>
.fi
.SS subext-prefix=<tekst>
.PP
To samo co: -P=<tekst>, --subext-prefix=<tekst>
.fi
.SS subfmt_conv=<tekst>
.PP
To samo co: -F=<tekst>, --subfmt-conv=<tekst>
.fi
.SS subcp_conv=<tekst>
.PP
To samo co: -C=<tekst>, --subcp-conv=<tekst>
.fi
.SS subeol_conv=<tekst>
.PP
To samo co: -E=<tekst>, --subeol-conv=<tekst>
.fi
.SS auth_nick=<tekst>
.PP
To samo co: -n=<tekst>, --nick=<tekst>
.fi
.SS auth_pass=<tekst>
.PP
To samo co: -p=<tekst>, --pass=<tekst>
.fi
.SS auth_login=<bool>
.PP
To samo co: -L=<bool>, --login=<bool>
.fi
.SS notifications=<bool>
.PP
To samo co: -N=<bool>, --notifications=<bool>
.fi
.SH OPCJE KONFIGURACYJNE (TYLKO PLIK)
.SS subfmt_ext[Format]="Rozszerzenie"
.PP
Opcja umożliwia zmianę domyślnego rozszerzenia formatu. Domyślne rozszerzenia dla obsługiwanych formatów:
.fi
.PP
\fBFormat\fR = Rozszerzenie:
.RS 4
.nf
\fBfab\fR       = txt
\fBmicrodvd\fR  = sub
\fBmpl2\fR      = txt
\fBsubviewer\fR = sub
\fBsubrip\fR    = srt
\fBtmplayer\fR  = txt
.fi
.RE
.fi
.SS subfmt_lasting_time=<liczba>
.PP
Minimalny czas wyświetlania linijki w ms dla napisów konwertowanych z formatu w którym nie ma określonego czasu wygasania. Domyślnie: 3000. (patrz, polecenie: subotage.sh --lasting-time)
.fi
.SS
videoext=(<lista>)
.PP
Rozszerzenia jakie mogą mieć pliki filmowe.. Używaj tylko małych liter. Domyślnie:
.RS 4
videoext=(.3gp .avi .asf .divx .m4v .mkv .mov .mp4 .mpe .mpeg .mpg .ogg .ogv .rmvb .wmv .qt)
.RE
.fi
.PP
\fBUwaga\fR: można też zastosować „Brace expansion”, np:
.nf
.RS 4
videoext=(.{3gp,avi,asf,divx,m{4,k,o}v,mp{4,e,eg,g},ogg,ogv,rmvb,wmv,qt})
.RE
.fi
.fi
.SS videoext_match="Cel"
.PP
Porównuj końcówki nazw plików tylko dla określonego celu.
.fi
.PP
\fBCel\fR:
.RS 4
\fBalways\fR
.RS 4
Porównuj zawsze (domyślnie w poprzedniej wersji)
.RE
.PP
\fBfile\fR
.RS 4
Tylko dla plików
.RE
.PP
\fBdir\fR
.RS 4
Tylko dla katalogów, przy wyszukiwaniu w nich. \fB[domyślnie]\fR
.RE
.PP
\fBnever\fR
.RS 4
Nigdy, wszystkie są ok...
.RE
.RE
.fi
.SS DLAGENT="Polecenie"
.PP
Program pobierający pliki (\fB%o\fR wyjściowy; \fB%u\fR adres url). Domyślnie:
.RS 4
DLAGENT="curl -fLsS --retry 3 --retry-delay 3 -o %o %u"
.RE
.fi
.SS msg_status[ID]="Treść"
.PP
Format wyjścia dla notyfikacji "Status". Notyfikacja pojawia się za każdym razem gdy program zakończył operacje dla pojedynczego pliku, chyba że wyłączono w \fBmsg_{cli,gui}_disabled_array\fR. Zobacz też sekcje \fBTAGI\fR. Domyślne ustawienia:
.fi
.PP
\fBID\fR = Treść:
.RS 4
.nf
\fB0\fR   = %2%bPobrano%R dla %i%f
\fB1\fR   = %1%bBrak napisów%R dla %i%f
\fB2\fR   = %1Brak uprawnień do zapisu w folderze z plikiem: %f
\fB3\fR   = %1Niewystarczająca ilość wolnego miejsca na urządzeniu z plikiem: %f
\fB100\fR = %1Nie powiodła się detekcja formatu napisów dla: %f
\fB101\fR = %1Nie powiodło się konwertowanie formatu napisów dla: %f
\fB102\fR = %1Nie powiodło się konwertowanie strony kodowej napisów dla: %f
\fB254\fR = %1DLAGENT nie zawiera tagu %o dla pliku wyjściowego..
\fB255\fR = %1Pobieranie pliku z napisami nie powiodło się, problemy z połączeniem?
.fi
.RE
.fi
.SS msg_cli_disabled_array=(<lista>)
.PP
Lista \fBID\fR dla których wyświetlanie informacji w wierszu poleceń zostanie pominięte, patrz na \fBID\fR w: \fBmsg_status\fR. Domyślnie puste.
.fi
.SS msg_gui_disabled_array=(<lista>)
.PP
Lista \fBID\fR dla których wyświetlanie informacji poprzez notyfikację systemową zostanie pominięte, patrz na \fBID\fR w: \fBmsg_status\fR. W Gnome3 notyfikacje dla \fBID=0\fR i \fBID=1\fR mogą być męczące, dlatego domyślnie są wyłączone:
.RS 4
msg_gui_disabled_array=(0 1)
.RE
.fi
.SS msg_raport="Format"
.PP
Format wyjścia dla notyfikacji raportu. Notyfikacja pojawia się tylko raz tuż po wykonaniu wszystkich zadań podsumowując je, chyba że wyłączono w \fBraport_{cli,gui}_enabled\fR. Zobacz też sekcje: \fBTAGI\fR. Domyślnie:
.RS 4
msg_raport="Łącznie pobranych napisów: %b%d/%a%B"
.RE
.fi
.SS raport_cli_enabled=<bool>
.SS raport_gui_enabled=<bool>
.PP
Wyświetlaj raport końcowy (fałsz/prawda). Domyślnie:
.nf
.RS 4
raport_cli_enabled="tak"
raport_gui_enabled="tak"
.RE
.fi
.fi
.SS gui_int_warn=<bool>
.PP
Wyświetlaj notyfikacje dla uwag nie odnoszących się bezpośrednio do pobieranych napisów. Np: informacje o brakujących programach pomocniczych... Domyślnie:
.RS 4
gui_int_warn="tak"
.RE
.fi
.SH TAGI
\fBUwaga:\fR Można je łączyć w grupy np: \fB%{file-uri:f}\fR - w przypadku gdy ten pierwszy nie jest znany, zostanie użyty następny i gdy zostanie podany dodatkowy to jeszcze następny, itd...
.SS Tagi dla msg_raport:
.PP
.nf
\fB%d\fR ilość pomyślnie pobranych napisów,
\fB%n\fR ilość niepobranych napisów,
\fB%a\fR ilość wszystkich razem.
.fi
.fi
.SS Tagi dla msg_status:
.PP
.nf
\fB%d\fR id pliku,
\fB%f\fR nazwa plik,
\fB%e\fR numer błędu,
\fB%{path}\fR pełna ścieżka do pliku,
\fB%{dir}\fR  pełna ściażka do katalogu zawierającego.
.fi
.fi
.SS Wspólne tagi:
.PP
.nf
\fB%b\fR czcionka pogrubiona,
\fB%i\fR czcionka pochylona,
\fB%u\fR czcionka podkreślona,
\fB%0\fR kolor czarny,
\fB%1\fR kolor czerwony,
\fB%2\fR kolor zielony,
\fB%3\fR kolor żółty,
\fB%4\fR kolor niebieski,
\fB%5\fR kolor pomarańczowy,
\fB%6\fR kolor wyblakło-niebieski,
\fB%7\fR kolor biały,
\fB%8\fR domyślny kolory czcionki,
\fB%9\fR domyślny kolory czcionki.
.fi
.fi
.SS Tagi xml:
.PP
.nf
\fB%{file-uri}\fR link uruchamiający plik w domyślnym programie systemowym
.fi
.fi
.SH ZAAWANSOWANE OPCJE KONFIGURACYJNE (TYLKO PLIK)
.SS fps_detect_mpv_version="WERSJA"
.PP
Obecnie obsługiwane wersje to: „0.3”, „0.4”.
.fi
.SS fps_detect_tools=(<lista>)
.PP
Lista obsługiwanych detektorów fps. Domyślnie:
.RS 4
.nf
fps_detect_tools=(ffprobe mediainfo mplayer mpv)
.fi
.RE
.fi
.PP
Programy muszą mieć funkcję pomocniczą o nazwie:
.RS 4
.nf
subfmt_convert__fps__${nazwa_programu//[^[:alnum:]]/_}
.fi
.RE
.fi
.PP
Funkcja powinna zwracać poprawny fps w zmiennej \fB$fps_sub\fR, nie powinna pisać na STDOUT, dodatkowo jest czuła na return inny niż 0. Dostępne zmienne: \fB$bin\fR - lokalizacja programu, \fB$file\fR - lokalizacja pliku wideo.
.fi
.SS notifications_tools=(<lista>)
.PP
Lista obsługiwanych programów służących do wyświetlania powiadomień systemowych... Domyślnie:
.RS 4
.nf
notifications_tools=(notify-send terminal-notifier growlnotify)
.fi
.RE
.fi
.PP
Programy muszą mieć funkcję pomocniczą o nazwie:
.RS 4
.nf
gui_msg__${nazwa_programu//[^[:alnum]]/_}
.fi
.RE
.fi
.PP
Funkcja zawiera zmienne \fB$type\fR i \fB$msg\fR, gdzie \fB$type\fR może zawierać: „0”-„255”, „raport”, „warn”, „error”.
.fi
.PP
Przykład \fBgui_msg__*\fR dla \fBzenity\fR:
.fi
.RS 4
.nf
gui_msg__zenity() {
  case "$type" in
    raport) zenity --info --text="$msg"
  esac
}
.fi
.RE
.SS
.nf
notifications_fmt["Nazwa programu"]="Format"
.fi
.PP
Ustawianie \fBFormatu\fR dla \fBNazwy programu\fR. Patrz: \fBnotifications_tools\fR. Domyślnie:
.RS 4
.nf
notifications_fmt[notify-send]="xml"
notifications_fmt[terminal-notifier]="plain"
notifications_fmt[growlnotify]="plain"
.fi
.RE
.fi
.PP
Format jest funkcją pomocniczą przetwarzającą tagi, dla nowego formatu należy stworzyć następujące funkcje:
.RS 4
.nf
.B fill_fields__fmt__${nazwa_programu//[^[:alnum:]]/_}
.fi
.RS 4
Funkcja służy do dekodowania uniwersalnych tagów na tagi formatu. Do dyspozycji jest tablica \fB$local_array\fR i zmienna \fB$return_str\fR (obie są ustawione jako lokalne w funkcji rodzicu). Pierwsza zmienna służy jako brudnopis, druga to zawartość z informacją końcową. Funkcja otrzymuje tag jako pierwszy parametr czyli \fB$1\fR.
.RE
.fi
.PP
.nf
.B fill_fields__esc__${nazwa_programu//[^[:alnum:]]/_}
.fi
.RS 4
Funkcja służy do przekształcenia fragmentów tekstu, które zawierają znaki szczególne dla formatowania ale nie pochodzą one z konwersji uniwersalnego tagu. Do tego celu wystarczy wczytać dane z \fB$1\fR i zwrócić w \fB$return_str\fR. Przykład konwersji dla xml: nazwa pliku zawiera: „flip & flap.avi”, a powinna: „flip &amp; flap.avi”.
.RE
.fi
.SH PRZYKŁAD
.nf
# Format subrip, kodowanie windows-cp1250, koniec linii dos/windows:
subfmt_conv=subrip
subcp_conv=win
subeol_conv=dos

# Prefix:
subext_prefix=pl

# Nie porównuj rozszerzeń dla plików wskazanych bezpośrednio
videoext_match=dir
.fi
.SH BŁĘDY
Znalazłaś/eś jakiś błąd - wypełnij formularz dostępny na stronie projektu.
.SH ZOBACZ TEŻ
.BR napi-bash (1)
.SH AUTORZY
.SS Autor:
.PP
.B Krzysztof (3ED) AS
.RS 4
.nf
\fBEmail:\fR krzysztof1987  [na]  gmail  [kropka]  com
.fi
.RE
.fi
.SS Strona projektu:
.PP
https://3ed.github.io/napi-bash
.fi
.SS Program został wykonany przy użyciu tych narzędzi:
.PP
.nf
bash      - 99.(9)% całego kodu
curl      - domyślny agent pobierania
dd        - wczytywanie określonej ilości bajtów pliku
md5sum    - sumy kontrolne md5
.fi
.fi
.SS Narzędzia opcjonalne:
.PP
.nf
iconv     - zmiana kodowania czcionek
subotage  - konwertowanie formatu napisów
libnotify - wyświetlanie komunikatów na pulpicie
.fi
.fi
